package com.pi.wms.entity;


import com.fasterxml.jackson.annotation.JsonView;
import com.pi.framework.core.bean.PageResult;
import com.pi.framework.core.model.IdAuditableEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.annotations.Parameter;
import org.springframework.data.jpa.datatables.mapping.DataTablesOutput;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;


@Entity
@NoArgsConstructor
@Getter
@Setter
@Table(name = "TWT_ACT_WBS_TRANSFER_LIST")
public class TwtActWbsTransferList extends IdAuditableEntity {
	private static final long serialVersionUID = 1350991245777L;

    @Id
    @GeneratedValue(generator = "SEQ_TWT_WBS_TRANS_LIST_ID")
    @GenericGenerator(name = "SEQ_TWT_WBS_TRANS_LIST_ID",strategy = "com.pi.framework.data.FitIdentifierGenerator", parameters = {
            @Parameter(name = "sequence_name", value = "SEQ_TWT_WBS_TRANS_LIST_ID") })
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "TRANSFER_ID")
    private Long id;

    @Column(name = "VERSION")
    private Long version = Long.valueOf(0L);

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "GCLIENT_ID")
    private Long globalClientId;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "CUSTOMER_ID")
    private Long customerId;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "DIVISION_ID")
    private Long divisionId;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "CUSTOMER_CODE")
    private String customerCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "MATERIAL_CODE")
    private String materialCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "MATERIAL_NAME")
    private String materialName;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "MATERIAL_SPEC")
    private String materialSpec;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "SUPPLIER_CODE")
    private String supplierCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "SUPPLIER_NAME")
    private String supplierName;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "WBS_NUM")
    private String wbsNum;

    //变更数量
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "QUANTITY")
    private BigDecimal quantity;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "TO_MATERIAL_CODE")
    private String toMaterialCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "TO_SUPPLIER_CODE")
    private String toSupplierCode;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "TO_WBS_NUM")
    private String toWbsNum;

    //变更数量
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "TO_QUANTITY")
    private BigDecimal toQuantity;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "OPEN_TIME")
    private Date openTime;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "CLOSE_TIME")
    private Date closeTime;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "CREATE_SOURCE")
    private String createSource;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "CHECK_STATUS")
    private String checkStatus;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "UDF01")
    private String udf01;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF02")
    private String udf02;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF03")
    private String udf03;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF04")
    private String udf04;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF05")
    private String udf05;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF06")
    private String udf06;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF07")
    private String udf07;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF08")
    private String udf08;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF09")
    private String udf09;
    
    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class }) 
    @Column(name = "UDF10")
    private String udf10;

    @JsonView(value = { DataTablesOutput.View.class, PageResult.View.class })
    @Column(name = "NOTES")
    private String notes;

}
